import time
import re
from selenium.webdriver.support.select import Select

from public.action import *
from public.business import *
from public.testData import *
from public.tools import*

addmoney="10000"#参数化增加的金额
bztext="买手机用"#参数化备注内容
testCase="DBshop034_客户管理管理客户余额调整"
firefox=openBrowser(urlAdmin)
DBshopLoginAdmin(firefox)
DBshopEnterMenu2(firefox,"客户管理","管理客户")
#在客户姓名输入框输入用户名
firefox.find_element_by_xpath("//input[@name='user_name']").send_keys(userName)
#点击搜索按钮
firefox.find_element_by_xpath("//button[contains(text(),'搜索')]").click()
#获取当前客户的客户余额
money=firefox.find_element_by_xpath("//td[text()='%s']/following-sibling::td[5]"%userName).text

#1.点击“余额调整”按钮。
#点击客户对应的余额调整超链接
firefox.find_element_by_xpath("//td[text()='%s']/following-sibling::td[7]/a[2]"%userName).click()
time.sleep(1)

#2.添加客户cyy,金额增加"10000",备注内容“买手机用”
#金额选择增加
s=Select(firefox.find_element_by_id("money_change_type_1"))
s.select_by_visible_text("增加")
#输入金额为10000
firefox.find_element_by_id("money_change_num").send_keys(addmoney)
#输入备注内容
firefox.find_element_by_id("money_pay_info").send_keys(bztext)

#3.点击“提交充值”按钮。在前台查询cyy是否余额多10000.
#点击提交充值按钮
firefox.find_element_by_xpath("//button[text()='提交充值']").click()
firefox.quit()
#调用自定义函数打开浏览器，打开dbshop前台首页
firefox=openBrowser(url)
#调用自定义函数进行用户登录
DBshopLogin(firefox,userName,password)
#点击用户中心
firefox.find_element_by_link_text("用户中心").click()
#点击账户余额
firefox.find_element_by_link_text("账户余额").click()
#获取页面中的文本
a=firefox.find_element_by_xpath("//body").text
#将获取的当前客户余额和增加的金额相加存到变量sum中
sum=float(money)+float(addmoney)#预期余额
#断言
try:
    if reGetString(a,"账户余额 \[\￥"," 元\]")=="%.2f"%sum:#如果获取的调整后的余额等于预期的金额
        writeLog("%s 测试通过" % testCase)
except:
    writeLog("%s 测试失败" % testCase)
    getPhoto(firefox)
firefox.quit()
